/*
 * Copyright (C) 2019 The Turms Project
 * https://github.com/turms-im/turms
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: request/group/update_group_request.proto

package im.turms.common.model.dto.request.group;

public interface UpdateGroupRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:im.turms.proto.UpdateGroupRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>int64 group_id = 1;</code>
   * @return The groupId.
   */
  long getGroupId();

  /**
   * <code>optional string group_name = 2;</code>
   * @return Whether the groupName field is set.
   */
  boolean hasGroupName();
  /**
   * <code>optional string group_name = 2;</code>
   * @return The groupName.
   */
  java.lang.String getGroupName();
  /**
   * <code>optional string group_name = 2;</code>
   * @return The bytes for groupName.
   */
  com.google.protobuf.ByteString
      getGroupNameBytes();

  /**
   * <code>optional string intro = 3;</code>
   * @return Whether the intro field is set.
   */
  boolean hasIntro();
  /**
   * <code>optional string intro = 3;</code>
   * @return The intro.
   */
  java.lang.String getIntro();
  /**
   * <code>optional string intro = 3;</code>
   * @return The bytes for intro.
   */
  com.google.protobuf.ByteString
      getIntroBytes();

  /**
   * <code>optional string announcement = 4;</code>
   * @return Whether the announcement field is set.
   */
  boolean hasAnnouncement();
  /**
   * <code>optional string announcement = 4;</code>
   * @return The announcement.
   */
  java.lang.String getAnnouncement();
  /**
   * <code>optional string announcement = 4;</code>
   * @return The bytes for announcement.
   */
  com.google.protobuf.ByteString
      getAnnouncementBytes();

  /**
   * <code>optional int32 minimum_score = 5;</code>
   * @return Whether the minimumScore field is set.
   */
  boolean hasMinimumScore();
  /**
   * <code>optional int32 minimum_score = 5;</code>
   * @return The minimumScore.
   */
  int getMinimumScore();

  /**
   * <code>optional int64 group_type_id = 6;</code>
   * @return Whether the groupTypeId field is set.
   */
  boolean hasGroupTypeId();
  /**
   * <code>optional int64 group_type_id = 6;</code>
   * @return The groupTypeId.
   */
  long getGroupTypeId();

  /**
   * <code>optional int64 mute_end_date = 7;</code>
   * @return Whether the muteEndDate field is set.
   */
  boolean hasMuteEndDate();
  /**
   * <code>optional int64 mute_end_date = 7;</code>
   * @return The muteEndDate.
   */
  long getMuteEndDate();

  /**
   * <code>optional int64 successor_id = 8;</code>
   * @return Whether the successorId field is set.
   */
  boolean hasSuccessorId();
  /**
   * <code>optional int64 successor_id = 8;</code>
   * @return The successorId.
   */
  long getSuccessorId();

  /**
   * <code>optional bool quit_after_transfer = 9;</code>
   * @return Whether the quitAfterTransfer field is set.
   */
  boolean hasQuitAfterTransfer();
  /**
   * <code>optional bool quit_after_transfer = 9;</code>
   * @return The quitAfterTransfer.
   */
  boolean getQuitAfterTransfer();
}
